Do Xuanhuy
2017-12-19LINE Engineer
こんにちは、LINEメッセンジャーのサーバーサイドとモニタリングプラットフォームの開発を担当しているフィ(@dxhuy)です。この記事はLINE Advent Calendar 2017の20日目の記事です。
今日は、モニタリングシステムでよく使うレイテンシーやその計算方法などについて紹介したいと思います。LINEでは、日々ユーザが楽しくメッセージを送れるように、システムの安定性を第一に考えています。安定したシステムを保つためにたくさんの指標を見守る必要がありますが、その指標の1つが「レイテンシー」です。
ウィキペディアでは、レイテンシーは以下のように定義されています。
デバイスに対してデータ転送などを要求してから、その結果が返送されるまでの不顕性の高い遅延時間のこと
インターネットサービスにおいては、レイテンシーは基本的に「レスポンスタイム」のことです。つまり、リクエストを受けてからレスポンスを返すまでにかかる時間がレイテンシーです。
レイテンシーは、以下のようなコードを使ってとても簡単に計算できます。
long startTime = System.nanoTime(); //